package com.fastbee.iot.tdengine.service.model;

import com.fastbee.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.time.LocalDateTime;
import java.time.chrono.ChronoLocalDateTime;

/**
 * 设备监测对象 whhx_device_monitor
 *
 * @author kerwincui
 * @date 2021-12-16
 */
public class WhhxDeviceMonitorDTO {

    /** 设备监测ID */
    private Integer id;

    /** 设备名称 */
    private String deviceName;

    /** 设备编码 */
    private String deviceCode;

    /** 设备型号 */
    private String deviceModel;

    /** 设备规格 */
    private String deviceNorm;

    /** 设备ip */
    private String gatewayId;

    /** 监测时间 */
    private LocalDateTime monitorTime;

    /** 参数名称 */
    private String parmaterName;

    /** 参数编码 */
    private String parmaterCode;

    /** 参数值 */
    private String parmaterValue;

    /** 创建时间 */
    private LocalDateTime createAt;

    /** 工厂ID */
    private Long productId;

    /** 参数报警（是或否） */
    private String alarm;



    // 新增查询条件字段
    private Integer pageNum;  // 页号
    private Integer pageSize;  // 一页显示的数据数

    private String startTime;  // 查询开始时间
    private String endTime;    // 查询结束时间

    private String alarmStatus;       // 预警状态：全部/正常/预警
    private String parameterNameQuery; // 参数名称查询条件
    private String parameterCodeQuery; // 参数编码查询条件

    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public String getAlarmStatus() {
        return alarmStatus;
    }

    public void setAlarmStatus(String alarmStatus) {
        this.alarmStatus = alarmStatus;
    }

    public String getParameterNameQuery() {
        return parameterNameQuery;
    }

    public void setParameterNameQuery(String parameterNameQuery) {
        this.parameterNameQuery = parameterNameQuery;
    }

    public String getParameterCodeQuery() {
        return parameterCodeQuery;
    }

    public void setParameterCodeQuery(String parameterCodeQuery) {
        this.parameterCodeQuery = parameterCodeQuery;
    }











    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getDeviceCode() {
        return deviceCode;
    }

    public void setDeviceCode(String deviceCode) {
        this.deviceCode = deviceCode;
    }

    public String getDeviceModel() {
        return deviceModel;
    }

    public void setDeviceModel(String deviceModel) {
        this.deviceModel = deviceModel;
    }

    public String getDeviceNorm() {
        return deviceNorm;
    }

    public void setDeviceNorm(String deviceNorm) {
        this.deviceNorm = deviceNorm;
    }

    public String getDeviceIp() {
        return gatewayId;
    }

    public void setDeviceIp(String deviceIp) {
        this.gatewayId = deviceIp;
    }

    public LocalDateTime getMonitorTime() {
        return monitorTime;
    }

    public void setMonitorTime(LocalDateTime monitorTime) {
        this.monitorTime = monitorTime;
    }

    public String getParmaterName() {
        return parmaterName;
    }

    public void setParmaterName(String parmaterName) {
        this.parmaterName = parmaterName;
    }

    public String getParmaterCode() {
        return parmaterCode;
    }

    public void setParmaterCode(String parmaterCode) {
        this.parmaterCode = parmaterCode;
    }

    public String getParmaterValue() {
        return parmaterValue;
    }

    public void setParmaterValue(String parmaterValue) {
        this.parmaterValue = parmaterValue;
    }

    public LocalDateTime getCreateAt() {
        return createAt;
    }

    public void setCreateAt(LocalDateTime createAt) {
        this.createAt = createAt;
    }

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public String getGatewayId() {
        return gatewayId;
    }

    public void setGatewayId(String gatewayId) {
        this.gatewayId = gatewayId;
    }

    public String getAlarm() {
        return alarm;
    }

    public void setAlarm(String alarm) {
        this.alarm = alarm;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("deviceName", getDeviceName())
                .append("deviceCode", getDeviceCode())
                .append("deviceModel", getDeviceModel())
                .append("deviceNorm", getDeviceNorm())
                .append("deviceIp", getDeviceIp())
                .append("monitorTime", getMonitorTime())
                .append("parmaterName", getParmaterName())
                .append("parmaterCode", getParmaterCode())
                .append("parmaterValue", getParmaterValue())
                .append("createTime", getCreateAt())
                .append("productId", getProductId())
                .append("alarm", getAlarm())
                .toString();
    }
}
